package com.mchat.communication.service;

import com.mchat.common.dto.bo.OnlineUser;
import com.mchat.communication.exception.NotFoundException;
import com.mchat.communication.protocol.IMMessage;

public interface OnlineUserService {
    OnlineUser getUserByName(String userName);

    OnlineUser getUserBySeq(String userSeq);

    OnlineUser getUserById(Integer userId) throws NotFoundException;

    boolean removeUserByName(String userName);

    boolean removeUserBySeq(String userSeq);

    boolean removeUserById(Integer userId);

    boolean removeUser(OnlineUser user);

    OnlineUser addOnlineUser(OnlineUser user);

    OnlineUser modifyUser(OnlineUser user);

    IMMessage sendMessage(OnlineUser user, IMMessage message);

    Integer countOnlineUsers();
}
